
#ifndef __CE_SPHERE_H__
#define __CE_SPHERE_H__

#include <export.h>
#include <math/vector.h>

/**
 * \addtogroup math
 * @{
 */
/**
 * @brief Mathematical representation of a sphere
 */
class CE_API ceSphere
{
private:
  ceVector3f	_center;
	float			_radius;

public:
  ceSphere ();
  ceSphere (float radius);
  ceSphere (const ceVector3f& pos, float radius);

  void SetCenter (const ceVector3f& center);
  ceVector3f& GetCenter ();
  const ceVector3f& GetCenter () const;

	void SetRadius (float radius);
	float GetRadius () const;

  float GetMinDistance (const ceVector3f& pos) const;
  float GetMaxDistance (const ceVector3f& pos) const;

};

/** @} */

#endif /* ! __CE_SPHERE_H__ */

